#version 400 core
layout (triangles, equal_spacing, cw) in;

in TC_OUT
{
    vec4 color;
    vec3 normal;
} te_in[];

out TE_OUT
{
    vec4 color;
    vec3 normal;
} te_out;

void main()
{
	float u = gl_TessCoord.x;
	float v = gl_TessCoord.y;
	float w = gl_TessCoord.z;
	
	gl_Position = u * gl_in[0].gl_Position + 
                  v * gl_in[1].gl_Position + 
                  w * gl_in[2].gl_Position;

    te_out.normal = u * te_in[0].normal + 
                    v * te_in[1].normal + 
                    w * te_in[2].normal;

    te_out.color = u * te_in[0].color + 
                   v * te_in[1].color + 
                   w * te_in[2].color;
}




